#include <d3d9.h>
#include <d3dx9.h>

class CCamera
{
public :
	enum	CameraType
		{
			FIRSTPERSON,
			THIRDPERSON,
			FREECAMERA
		};


	CCamera();
	CCamera(CameraType type);

	CameraType		Type;

	void			Walk(float velocity);
	void			Fly(float velocity);
	void			Strafe(float velocity);
	void			Rotate(float x, float y, float z);

	void			GetMatrixView(D3DXMATRIX *V);
	void			GetPosition(D3DXVECTOR3 *pos);
	void			SetPosition(D3DXVECTOR3 pos);
	void			SetLook(D3DXVECTOR3 look);

	void			Release();

private:

	D3DXVECTOR3		m_vPosition;
	D3DXVECTOR3		m_vRight;
	D3DXVECTOR3		m_vUp;
	D3DXVECTOR3		m_vLook;
	D3DXVECTOR3		m_vOffSet;

};